#pragma once

class Sound3D;
class Sound2D;
class AudioManager
{
public:
	AudioManager(const String& directory);
	~AudioManager(void);

	Sound3D* Load3DSound(const String& filepath);
	Sound2D* Load2DSound(const String& filepath);
	void Remove2DSound(const String& filename);
	void Remove3DSound(const String& filename);

private:
	inline void Clear();

	std::map<String, Sound2D*> m_2d_sounds;
	std::map<String, Sound3D*> m_3d_sounds;
	String m_directory;
};

